package com.yunxi.model.sto;

import com.baomidou.mybatisplus.annotation.*;
import java.util.Date;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;

/**
 * <p>
 * 仓库结构管理
 * </p>
 *
 * @author caoYong
 * @since 2019-05-14
 */
@Data
@EqualsAndHashCode(callSuper = false)

@TableName("pms_sto_manage")
@ApiModel(value="StoManage对象", description="仓库结构管理")
public class StoManage implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键id")
    @TableId(value = "STORAGE_ID", type = IdType.UUID)
    private String storageId;

    @ApiModelProperty(value = "组织代码")
    @TableField("ORG_CODE")
    private String orgCode;

    @ApiModelProperty(value = "仓库组织类型(Storage_Org_Type,1主机厂,2渠道商)")
    @TableField("STORAGE_ORG_TYPE")
    private String storageOrgType;

    @ApiModelProperty(value = "百度坐标X")
    @TableField("GPS_BAIDU_X")
    private String gpsBaiduX;

    @ApiModelProperty(value = "百度坐标Y")
    @TableField("GPS_BAIDU_Y")
    private String gpsBaiduY;

    @ApiModelProperty(value = "仓库地址")
    @TableField("STORAGE_LOCATION")
    private String storageLocation;

    @ApiModelProperty(value = "仓库代码")
    @TableField("STORAGE_CODE")
    private String storageCode;

    @ApiModelProperty(value = "仓库名称")
    @TableField("STORAGE_NAME")
    private String storageName;

    @ApiModelProperty(value = "仓库类型(VehicleWarehouseStructure_Category,1仓库,2库区,3库道,4库位)",required = true)
    @TableField("STORAGE_TYPE")
    @NotNull
    private String storageType;

    @ApiModelProperty(value = "上级仓库ID")
    @TableField("PID")
    private String pid;

    @ApiModelProperty(value = "库区类型(Storage_AreaType,1国际,2欧标,3项目用车)")
    @TableField("STORAGE_AREA_TYPE")
    private String storageAreaType;

    @ApiModelProperty(value = "库位优先级 1,2,3")
    @TableField("STORAGE_POSITION_LEVEL")
    private Integer storagePositionLevel;

    @ApiModelProperty(value = "库位使用状态(VehicleWarehouseBin_InUseStatus 1空闲,2占用)")
    @TableField("STORAGE_POSITION_STATE")
    private String storagePositionState;

    @ApiModelProperty(value = "是否应急库位(1是0否)")
    @TableField("IS_POSITION_URGENT")
    private Integer isPositionUrgent;

    @ApiModelProperty(value = "库位是否冻结(1是0否)")
    @TableField("IS_POSITION_FROZEN")
    private Integer isPositionFrozen;

    @ApiModelProperty(value = "库位是否作废(1是0否)")
    @TableField("IS_POSITION_DISABLED")
    private Integer isPositionDisabled;

    @ApiModelProperty(value = "创建时间")
    @TableField(value = "CREATE_TIME",fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty(value = "创建人")
    @TableField(value = "CREATE_BY",fill = FieldFill.INSERT)
    private String createBy;

    @ApiModelProperty(value = "修改时间")
    @TableField(value = "UPDATE_TIME",fill = FieldFill.UPDATE)
    private Date updateTime;

    @ApiModelProperty(value = "修改人")
    @TableField(value = "UPDATE_BY",fill = FieldFill.UPDATE)
    private String updateBy;

    @ApiModelProperty(value = "版本")
    @TableField("VERSION")
    private Integer version;

    @ApiModelProperty(value = "是否发送(1是0否)")
    @TableField("IS_SEND")
    private Integer isSend;

    @ApiModelProperty(value = "仓库管理员")
    @TableField("STORAGE_MANAGER")
    private Integer storageManager;

    @ApiModelProperty(value = "库位使用率阈值")
    @TableField("USAGE_CAP")
    private String usageCap;

    @ApiModelProperty(value = "是否手动冻结(1是0否)")
    @TableField("IS_MANUAL_FROZEN")
    private Integer isManualFrozen;

    @ApiModelProperty(value = "仓库全名")
    @TableField("STORAGE_FULL_NAME")
    private String storageFullName;

}
